package com.springboot.study.producer;// 定义包名，表示这是 producer 层，通常用于消息生产相关的类
import com.springboot.study.config.SimpleQueueConfig;// 导入自定义的队列配置类 SimpleQueueConfig，用于获取队列名称
import org.springframework.amqp.rabbit.core.RabbitTemplate;// 导入 Spring 提供的 RabbitTemplate 类，用于向 RabbitMQ 发送消息
import org.springframework.stereotype.Component;// 导入 Spring 注解 @Component，用于将该类注册为 Spring Bean
@Component// 标注这是一个组件类，Spring 会自动扫描并注入到容器中
public class SimpleProducer {
    private final RabbitTemplate rabbitTemplate;
    // 定义 RabbitTemplate 成员变量，用于发送消息
    // 使用 final 修饰，表示初始化后不可修改
    public SimpleProducer(RabbitTemplate rabbitTemplate) {
        // 构造函数注入 RabbitTemplate 实例
        this.rabbitTemplate = rabbitTemplate;
        // 将传入的 RabbitTemplate 对象赋值给成员变量
    }
    public void sendMessage(String message) {
        // 定义发送消息的方法，参数为 message 字符串
        // 该方法负责将消息发送到指定的队列
        // 发送消息到指定队列
        rabbitTemplate.convertAndSend(SimpleQueueConfig.SIMPLE_QUEUE, message);
        // 调用 RabbitTemplate 的 convertAndSend 方法发送消息
        // 第一个参数为队列名称（从配置类获取），第二个参数为消息内容
        System.out.println("发送消息：" + message);
        // 在控制台打印日志，提示消息已发送
    }
}
